import { ManListenCall } from './Task';

/**
 * 任务完成度
 */
export interface CallTaskCountMsg {
  /**
   * 任务id
   */
  taskId: number;
  /**
   * 任务总数
   */
  countTotal: number;
  /**
   * 完成呼叫总数
   */
  countComplete: number;
  /**
   * 正在呼叫总数
   */
  countProcess: number;
  /**
   * 预计完成时间
   */
  estimateCompleteTime: number;
}

/**
 * 任务信息
 */
export interface CallTaskInfoMsg extends ManListenCall {}

/**
 * 会话信息
 */
export interface DiaogueMsg {
  /**序号*/
  index: number;
  /**
   * 任务id
   */
  taskId: number;
  /**
   * 呼叫中心会话id。同一时刻不会有重复的，但经过很长时间，会有之前使用过的call
   */
  callId: string;
  /**
   * 对话id
   */
  callSerialNumber: string;
  /**
   * 业务中心流程号，唯一
   */
  callRecordId: string;
  /**
   * 说话方id（0-用户/1-机器人）
   */
  speaker: string;
  /**
   * 回话内容
   */
  content: string;
  /**
   * 文本内容标记（half-中间句/full-完整句子）
   */
  contentFlag: string;
  /**
   * 回话时间
   */
  dateTime: string;
  /**
   * 消息语言地址
   */
  url: string;
  /**
   * 消息状态：0：未理解，1：正常
   */
  status: number;
}

/**
 * 通话记录下载完成消息
 */
export interface CallRecordDownloadMsg {
  /**
   * 下载任务id
   */
  downloadTaskId: number;
  /**
   * 文件名
   */
  fileName: string;
  /**
   * 文件地址
   */
  fileUrl: string;
}
/**
 * 告警消息列表，告警推送
 */
export interface AlarmMsg {
  /**
   * 告警消息Id
   */
  alarmId: string;
  /**
   * 告警内容
   */
  content: string;
  /**
   * 告警时间
   */
  time: number;
}
/**
 * 流程调试消息
 */
export interface FlowDebugMsg {
  flowSession: string;
  nodeId: number;
  attributes: {
    key: string;
    value: any;
  }[];
}
